using System;

namespace Cfg.ConfigProviders
{
    public abstract class ConfigFileProviderBase : IConfigFileProvider
    {
        public abstract string[] VariablePatterns { get; }

        protected string Path;

        protected ConfigFileProviderBase(string path)
        {
            // todo - use environment variables
            var machineName = Environment.MachineName;
            var userName = Environment.UserName;
            
            Path = path;
        }

        protected ConfigKeyValues Values = new ConfigKeyValues();


        private string FinalizeValue()
        {
            // todo
            return null;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public abstract ConfigKeyValues GetValues();
    }

    public interface IConfigFileProvider
    {
        ConfigKeyValues GetValues();
    }
}